
package Controlador;

import Modelo.Aspirante;
import Modelo.Bacante;
import Modelo.Entrevista;
import Modelo.Experiencia;
import Modelo.ModeEntrevista;
import Modelo.ModelAspi;
import Modelo.ModelExperiencia;
import Modelo.ModelPsicotecnica;
import Modelo.Psicotecnica;
import java.util.Iterator;
import java.util.LinkedList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;


public class AplicativoPsicotecnica {
    AplicativoAspi  Aspi;
    AplicativoBacante Bacan;
    ModelPsicotecnica mod;
    LinkedList lista;
    DefaultTableModel tablaModelo;
    private Psicotecnica ex= new Psicotecnica();

    public AplicativoPsicotecnica( ModelPsicotecnica mod,AplicativoBacante Bacan,AplicativoAspi  Aspi) {
        this.mod=mod;
        lista=new LinkedList();
        tablaModelo=new DefaultTableModel();
        this.Bacan=Bacan;
        this.Aspi=Aspi;
    }

    public AplicativoAspi getAspi() {
        return Aspi;
    }

    public void setAspi(AplicativoAspi Aspi) {
        this.Aspi = Aspi;
    }

    public AplicativoBacante getBacan() {
        return Bacan;
    }

    public void setBacan(AplicativoBacante Bacan) {
        this.Bacan = Bacan;
    }

    public  ModelPsicotecnica getMod() {
        return mod;
    }

    public void setMod( ModelPsicotecnica mod) {
        this.mod = mod;
    }
    public JTable LimpiarTable(JTable tabla){
        tablaModelo=(DefaultTableModel) tabla.getModel();
        int x=tablaModelo.getRowCount();
	for(int i=-1;i<(x-1);i++)
		tablaModelo.removeRow(0);
        return tabla;        
    }

    //metodo para enviar una tabla y reciva una tabla
  public JTable CargaInfPsicotecnica(JTable tabla,JTextField text){
       Bacante a;
       Aspirante as;
        tablaModelo=(DefaultTableModel) tabla.getModel();
	try
	{
            lista=mod.Pspicotecnias(text.getText());
            Iterator it=lista.iterator();
            while( it.hasNext() )
            {
                ex=(Psicotecnica)it.next();
                a=Bacan.CArgaBacante(ex.getBacante());
                as=Aspi.CArgaAspirante(text.getText());
                tablaModelo.addRow
                (
                    new Object[]
                    {
                        as.getNombre(),a.getNombre(), ex.getNomencargado(), ex.getLugar(), ex.getTotal(),ex.getFecha(),
                    }
                );
            }
	}catch(Exception er){
		JOptionPane.showMessageDialog(null, "Error al cargar la lista de Cliente de la base de datos, se presento " +
                        "\n un inconveniente al tratar de Buscar la informacion requerida " +
                        "\n por el sistema." +
                        "\n."+er.toString() , "Error en la Carga de Informacion...",JOptionPane.DEFAULT_OPTION);
	}
        return tabla;
    }

    public Psicotecnica CargaPsico(JTextField text){
     Psicotecnica ex=null;
  System.out.print("****************1");
	try
	{
            lista=mod.Pspicotecnias(text.getText());
           ex=(Psicotecnica)lista.getFirst();
           
               

              System.out.print("****************2");
	}catch(Exception er){
		JOptionPane.showMessageDialog(null, "Error al cargar la lista de Cliente de la base de datos, se presento " +
                        "\n un inconveniente al tratar de Buscar la informacion requerida " +
                        "\n por el sistema." +
                        "\n."+er.toString() , "Error en la Carga de Informacion...",JOptionPane.DEFAULT_OPTION);
	}
    System.out.print("****************1");
        return ex;
    }
//buscar informacion de las linkedlist control de la informacion y hasNext
}
